import request from "@/utils/request";

const BASE_URL = "/payment";

class HFAPI {
  /**
   * 获取日志分页列表
   *
   * @param queryParams 查询参数
   */
  static getPage(queryParams: HFPageQuery) {
    return request<any, PageResult<HFPageVO[]>>({
      url: `${BASE_URL}/withdraw/user/list`,
      method: "get",
      params: queryParams,
    });
  }
  /**
   * 获取详情
   *
   * @param queryParams 查询参数
   */
  static getDetail(id: string) {
    return request<any, HFPageVO[]>({
      url: `${BASE_URL}/withdraw/user/get`,
      method: "get",
      params: {
        id,
      },
    });
  }

  /**
   * 获取访问趋势
   *
   * @param queryParams
   * @returns
   */
  static getLogsPage(queryParams: LogsQuery) {
    return request<any, LogsVO>({
      url: `${BASE_URL}/user/withdraw/list`,
      method: "get",
      params: queryParams,
    });
  }
}

export default HFAPI;

/**
 * 日志分页查询对象
 */
export interface HFPageQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
}
/**
 * 日志分页查询对象
 */
export interface LogsQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
}

export interface LogsVO {
  //
  id?: number;
  //第三方appid
  appid?: string;
  //商户号
  merchantNo?: string;
  //支付用户id
  paymentUserId?: string;
  //商城对应用户ID
  userId?: string;
  //打款单号（流水号）
  outTradeNo?: string;
  //结算帐号
  bankCardNo?: string;
  //提现金额，单位元
  withdrawAmt?: number;
  //提现结果，0：失败，1：成功
  withdrawResult?: number;
  //备注
  remarks?: string;
  //创建时间
  createdAt?: string;
  //更新时间
  updatedAt?: string;
}

/**
 * 系统日志分页VO
 */
export interface HFPageVO {
  //主键
  id?: number;
  //第三方appid
  appid?: string;
  //商户号
  merchantNo?: string;
  //支付用户id
  paymentUserId?: string;
  //商城对应用户ID
  userId?: string;
  //用户类型，1：个人，2：企业
  type?: number;
  //证件号码
  idCardNo?: string;
  //证件类型(17 身份证;18 护照;19 港澳居民来往内地通行证;20 台湾居民来往内地通行证)
  idCardType?: string;
  //证件有效期类型,1:长期有效 0:非长期有效
  idCardValidType?: number;
  //证件有效期开始时间，日期格式：yyyyMMdd；示例值：20220909
  idCardValidStartTime?: string;
  //证件有效期结束时间，日期格式：yyyyMMdd；示例值：20330909
  idCardValidEndTime?: string;
  //结算帐号
  bankCardNo?: string;
  //银行所在省
  bankProvince?: string;
  //银行所在市
  bankCity?: string;
  //个人姓名
  name?: string;
  //手机号
  mobile?: string;
  //身份证正面照片（国徽面）
  idFrontPic?: string;
  //身份证反面照片（人像面）
  idBehindPic?: string;
  //结算卡正面照片
  bankCardBeforePic?: string;
  //结算卡反面照片
  bankCardBehindPic?: string;
  //银行卡号
  bankId?: string;
  //登录名
  loginName?: string;
  //业务入驻状态，0：未入驻，1：已入驻
  businessStatus?: number;
  //结算周期,T1:T1(下个工作日到账)，D1:D1（下个自然日到账）
  settlementCycle?: string;
  //创建时间
  createdAt?: string;
  //更新时间
  updatedAt?: string;
}

/**  访问趋势视图对象 */
export interface VisitTrendVO {
  /** 日期列表 */
  dates: string[];
  /** 浏览量(PV) */
  pvList: number[];
  /** 访客数(UV) */
  uvList: number[];
  /** IP数 */
  ipList: number[];
}

/** 访问趋势查询参数 */
export interface VisitTrendQuery {
  /** 开始日期 */
  startDate: string;
  /** 结束日期 */
  endDate: string;
}

/**  访问统计 */
export interface VisitStatsVO {
  /** 标题 */
  title: string;
  /** 类型 */
  type: "pv" | "uv" | "ip";

  /** 今日访问量 */
  todayCount: number;
  /** 总访问量 */
  totalCount: number;
  /** 同比增长率（相对于昨天同一时间段的增长率） */
  growthRate: number;

  totalCountOutput: number;
}
